package com.sg.dto.biz.component.req;

import com.sg.dto.biz.component.common.RedisBusinessDataResDto;
import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @desc QueryRefRedisBusinessDataListReqDto
 * @使用场景
 */
@Data
public class QueryRefRedisBusinessDataListReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 业务数据对象 ACCTSTDDATATARGETCONTSNAP:账户标准数据目标内容快照 2:账户标准数据金额快照 3:初始化预算或实体账户 4:目标预算设置 5:计算或托底标准数据快照
     */
    @NotNull(message = "业务数据对象不能为空")
    @ApiModelProperty("业务数据对象")
    private String businessDataObject;

    /**
     * 数据对象批次标识
     */
    @NotNull(message = "数据对象批次标识不能为空")
    @ApiModelProperty("数据对象批次标识")
    private String dataObjectBatchCode;

    private String batchQueryRefDataFieldName;

    @ApiModelProperty("入参查redis业务数据对象列表 ")
    List<String> refRedisBusinessDataList = new ArrayList<>();

    /**
     * 入参自定义字段1
     */
    @ApiModelProperty("入参自定义字段1")
    private String refCustomField1;

    private String refCustomFieldValue1;

    /**
     * 入参自定义字段2
     */
    @ApiModelProperty("入参自定义字段2")
    private String refCustomField2;

    private String refCustomFieldValue2;

    /**
     * 入参自定义字段3
     */
    @ApiModelProperty("入参自定义字段3")
    private String refCustomField3;

    private String refCustomFieldValue3;

    /**
     * 入参自定义字段4
     */
    @ApiModelProperty("入参自定义字段4")
    private String refCustomField4;

    private String refCustomFieldValue4;

    /**
     * 入参自定义字段5
     */
    @ApiModelProperty("入参自定义字段5")
    private String refCustomField5;

    private String refCustomFieldValue5;

    /**
     * 入参自定义字段6
     */
    @ApiModelProperty("入参自定义字段6")
    private String refCustomField6;

    private String refCustomFieldValue6;

    /**
     * 入参自定义字段7
     */
    @ApiModelProperty("入参自定义字段7")
    private String refCustomField7;

    private String refCustomFieldValue7;

    /**
     * 入参自定义字段8
     */
    @ApiModelProperty("入参自定义字段8")
    private String refCustomField8;

    private String refCustomFieldValue8;

    @ApiModelProperty("出参redis业务数据对象列表 ")
    List<RedisBusinessDataResDto> redisBusinessDataResList = new ArrayList<>();
    /**
     * Redis数据对象目录
     */
    @ApiModelProperty("Redis数据对象目录")
    private String redisDataObjectCatalogue;

}
